C++ 清空队列(queue)的几种方法

C++中的queue自身是不支持clear操作的,但是双端队列deque是支持clear操作的。

方法一

直接用空的队列对象赋值

queue<int> q1;
// process
// ...
q1 = queue<int>();

方法二

遍历出队列

while (!Q.empty()) Q.pop();

方法三

使用swap,这种是最高效的,定义clear,保持STL容器的标准。

void clear(queue<int>& q) {
	queue<int> empty;
	swap(empty, q);
}
posted @ 2017-09-15 09:40  清水汪汪  阅读(72230)  评论(0编辑  收藏  举报